Group Predictions

Row

Win percentage for the week

Season Win Percentage

Games Correct

125

Games Picked

191

Number of predictions

74

Row

This Week’s Predictions
Game Prediction Winner Correct Correct Votes Correct Percent
1 Dallas Cowboys Dallas Cowboys Yes 68 0.9189
2 Atlanta Falcons Atlanta Falcons Yes 47 0.6351
3 Pittsburgh Steelers Arizona Cardinals No 1 0.0135
4 Houston Texans Houston Texans Yes 42 0.5676
5 Detroit Lions Detroit Lions Yes 72 0.9730
6 Indianapolis Colts Indianapolis Colts Yes 52 0.7027
7 Los Angeles Chargers Los Angeles Chargers Yes 62 0.8378
8 Miami Dolphins Miami Dolphins Yes 71 0.9595
9 Tampa Bay Buccaneers Tampa Bay Buccaneers Yes 71 0.9595
10 Los Angeles Rams Los Angeles Rams Yes 39 0.5270
11 Philadelphia Eagles San Francisco 49ers No 31 0.4189
12 Kansas City Chiefs Green Bay Packers No 5 0.0676
13 Jacksonville Jaguars Cincinnati Bengals No 6 0.0811

Individual Predictions

row

Individual Table

Individual Results
Week 13
Name Weekly # Correct Percent Weeks Picked Season Percent Adj Season Percent Season Trend
Week 1 Week 2 Week 3 Week 4 Week 5 Week 6 Week 7 Week 8 Week 9 Week 10 Week 11 Week 12 Week 13
William Schouviller 10 9 11 10 8 9 NA 13 10 9 9 10 10 0.7692 12 0.6629 0.6119
Chris Papageorge 11 11 11 10 8 9 5 11 12 8 8 NA 10 0.7692 12 0.6514 0.6013
Anthony Bloss 8 10 11 12 10 10 5 9 9 8 9 11 10 0.7692 13 0.6387 0.6387
MICHAEL BRANSON 8 11 10 12 9 10 4 11 10 7 8 NA 10 0.7692 12 0.6286 0.5802
Brandon Parks 8 8 NA NA 9 9 5 9 9 9 8 10 10 0.7692 11 0.5839 0.4941
Stephen Woolwine 8 13 9 NA NA 9 NA 11 11 NA 10 12 9 0.6923 9 0.6866 0.4753
George Sweet 9 11 10 12 7 10 10 NA 11 8 10 13 9 0.6923 12 0.6857 0.6330
Justin Crick 11 11 11 13 8 11 4 11 11 8 9 12 9 0.6923 13 0.6754 0.6754
Jason Schattel 7 10 9 11 9 10 3 13 12 9 10 12 9 0.6923 13 0.6492 0.6492
Ramar Williams NA 11 11 9 8 8 6 12 NA 8 NA 13 9 0.6923 10 0.6463 0.4972
Gabriel Quinones 9 11 12 12 6 9 6 11 NA 8 9 NA 9 0.6923 11 0.6335 0.5360
James Blejski 8 11 10 14 NA 9 7 12 7 6 9 9 9 0.6923 12 0.6271 0.5789
Eric Hahn 9 13 7 9 8 10 6 9 10 6 11 12 9 0.6923 13 0.6230 0.6230
Cody Koerwitz 7 9 11 12 7 10 6 NA 9 9 10 10 9 0.6923 12 0.6229 0.5750
Walter Archambo 7 10 10 11 7 9 5 9 12 NA 8 11 9 0.6923 12 0.6102 0.5633
Anthony Brinson 10 11 8 6 10 9 8 10 9 7 8 11 9 0.6923 13 0.6073 0.6073
Jonathon Leslein 9 9 9 9 7 11 5 9 8 10 10 NA 9 0.6923 12 0.6000 0.5538
Gregory Flint 6 11 NA 11 8 10 NA NA 9 5 8 NA 9 0.6923 9 0.5833 0.4038
Manuel Vargas 10 9 11 12 7 10 6 12 5 5 7 8 9 0.6923 13 0.5812 0.5812
Amy Asberry 8 9 10 9 9 8 5 10 6 9 7 10 9 0.6923 13 0.5707 0.5707
Montee Brown 7 NA NA 9 9 11 6 12 11 8 10 12 8 0.6154 11 0.6398 0.5414
Vincent Scannelli 11 11 8 11 7 NA 5 9 12 10 10 NA 8 0.6154 11 0.6375 0.5394
James Tierney 9 10 NA 10 10 12 7 10 8 9 9 10 8 0.6154 12 0.6328 0.5841
Aubrey Conn 9 12 8 11 9 9 4 11 11 8 7 12 8 0.6154 13 0.6230 0.6230
PABLO BURGOSRAMOS 9 11 10 12 7 12 6 8 9 7 10 NA 8 0.6154 12 0.6229 0.5750
Karen Coleman 7 10 NA 10 8 9 4 9 13 11 9 12 8 0.6154 12 0.6215 0.5737
Patrick Tynan 8 8 10 11 7 NA 5 11 10 7 11 13 8 0.6154 12 0.6193 0.5717
Ryan Cvik 11 11 9 13 6 10 8 8 6 8 10 10 8 0.6154 13 0.6178 0.6178
Cheryl Brown 10 12 11 9 6 9 6 10 8 9 8 12 8 0.6154 13 0.6178 0.6178
Terry Hardison 10 10 9 11 7 9 4 11 9 10 9 11 8 0.6154 13 0.6178 0.6178
Michael Moss 10 NA 11 13 7 9 4 10 9 8 9 10 8 0.6154 12 0.6171 0.5696
Paul Shim 10 9 10 11 7 9 4 10 10 8 11 10 8 0.6154 13 0.6126 0.6126
Bunnaro Sun 9 10 9 8 9 9 6 9 11 8 10 10 8 0.6154 13 0.6073 0.6073
Pamela AUGUSTINE 11 13 6 9 6 9 5 10 9 NA 10 11 8 0.6154 12 0.6045 0.5580
Earl Dixon 9 11 8 12 5 NA 7 8 9 8 9 12 8 0.6154 12 0.6023 0.5560
Paul Presti 9 10 12 9 8 9 5 8 NA 9 9 NA 8 0.6154 11 0.5963 0.5046
Stephen Bush 7 10 10 9 7 10 6 12 NA 5 10 11 8 0.6154 12 0.5932 0.5476
Robert Gelo 6 9 10 10 9 11 5 11 6 9 9 10 8 0.6154 13 0.5916 0.5916
Shaun Dahl 8 8 10 10 7 9 5 13 9 8 NA NA 8 0.6154 11 0.5901 0.4993
Daniel Kuehl 6 10 8 11 7 9 7 12 7 6 10 11 8 0.6154 13 0.5864 0.5864
Daniel Baller 6 12 11 9 8 9 3 10 8 9 10 9 8 0.6154 13 0.5864 0.5864
Thomas Brenstuhl 10 NA 8 8 8 9 5 9 11 6 11 NA 8 0.6154 11 0.5849 0.4949
WAYNE SCHOFIELD 12 9 7 NA 8 NA 5 10 7 NA 10 NA 8 0.6154 9 0.5846 0.4047
John Plaster 8 12 8 10 NA NA 6 9 7 10 9 7 8 0.6154 11 0.5802 0.4909
Daniel Halse 8 9 10 NA NA NA 7 11 NA 7 7 NA 8 0.6154 8 0.5776 0.3554
Kristen White 7 13 8 11 6 7 7 10 8 6 10 7 8 0.6154 13 0.5654 0.5654
Alexander Santillan 5 NA 8 9 5 11 6 11 8 9 7 9 8 0.6154 12 0.5486 0.5064
Ryan Wiggins 8 11 11 12 7 11 5 11 10 8 10 10 7 0.5385 13 0.6335 0.6335
Brian Patterson 10 10 8 11 7 11 5 10 10 8 11 12 7 0.5385 13 0.6283 0.6283
Ronald Schmidt 11 13 11 8 8 11 5 9 8 8 7 NA 7 0.5385 12 0.6057 0.5591
Yiming Hu 9 10 8 12 7 9 6 9 10 8 10 NA 7 0.5385 12 0.6000 0.5538
Daniel Major 8 13 6 7 8 11 7 11 NA NA 9 NA 7 0.5385 10 0.5918 0.4552
Shawn Carden 9 12 6 9 8 9 5 10 9 8 9 12 7 0.5385 13 0.5916 0.5916
Steven Webster 8 8 6 8 9 8 6 10 10 8 10 NA 7 0.5385 12 0.5600 0.5169
Steven Curtis NA NA 11 7 8 10 6 7 8 7 7 11 7 0.5385 11 0.5597 0.4736
Justin Thrift 9 8 9 8 9 7 5 11 7 6 10 NA 7 0.5385 12 0.5486 0.5064
Rodney Cathcart NA NA NA NA NA NA NA NA NA NA NA NA 7 0.5385 1 0.5385 0.0414
Robert Lynch 9 9 6 10 10 6 4 9 10 5 9 8 7 0.5385 13 0.5340 0.5340
DERRICK ELAM 6 9 11 10 10 7 NA 5 7 7 6 NA 7 0.5385 11 0.5247 0.4440
Trevor MACGAVIN 6 10 8 NA 6 7 4 NA 6 6 9 13 7 0.5385 11 0.5157 0.4364
Sarah Sweet 9 12 12 9 8 NA 6 11 11 10 8 9 6 0.4615 12 0.6307 0.5822
Keithon Corpening 8 NA NA NA NA NA NA 11 12 9 8 10 6 0.4615 7 0.6214 0.3346
Brian Hollmann 8 13 8 9 8 9 6 13 8 8 8 12 6 0.4615 13 0.6073 0.6073
Charlene Redmer 9 9 NA 9 9 11 NA 10 8 7 8 NA 6 0.4615 10 0.5811 0.4470
Cherylynn Vidal 10 9 9 12 9 7 4 6 9 7 NA 9 6 0.4615 12 0.5480 0.5058
Robert Martin 10 9 6 NA 9 9 6 9 NA 5 9 9 6 0.4615 11 0.5404 0.4573
James Small 8 8 13 9 8 10 8 10 12 6 10 9 5 0.3846 13 0.6073 0.6073
Matthew Schultz 8 NA 10 8 9 9 6 10 11 8 9 12 5 0.3846 12 0.6000 0.5538
George Mancini 7 12 10 10 9 10 6 NA 7 9 9 11 5 0.3846 12 0.6000 0.5538
Khalil Ibrahim 7 12 9 NA 7 10 6 10 9 5 7 11 5 0.3846 12 0.5600 0.5169
THOMAS MCCOY 8 10 9 7 8 9 7 11 7 7 NA 10 5 0.3846 12 0.5537 0.5111
Rafael Torres 6 8 12 11 NA NA 6 NA 9 5 10 8 5 0.3846 10 0.5479 0.4215
Ryan Shipley 3 8 7 6 6 7 5 10 9 6 9 NA 5 0.3846 12 0.4629 0.4273
Kevin Green 9 12 9 9 8 9 7 NA NA 6 10 11 4 0.3077 11 0.5839 0.4941
Michael Edmunds 10 12 10 10 NA NA NA NA NA NA NA NA NA 0.0000 4 0.6774 0.2084
Antonio Mitchell 10 12 NA 11 10 10 5 12 9 NA 10 12 NA 0.0000 10 0.6733 0.5179
Kevin O'NEILL 8 11 11 13 7 NA NA 10 NA NA NA NA NA 0.0000 6 0.6522 0.3010
Shelly Bailey 9 10 NA 10 8 11 6 NA 13 7 9 13 NA 0.0000 10 0.6486 0.4989
Bradley Hobson 8 10 11 12 8 11 4 NA 8 9 9 12 NA 0.0000 11 0.6296 0.5327
Carlos Caceres 10 NA NA NA NA NA NA NA NA NA NA NA NA 0.0000 1 0.6250 0.0481
Donald Park 8 12 7 9 NA NA 6 10 11 NA 9 NA NA 0.0000 8 0.6050 0.3723
DAVID PLATE 8 NA 8 9 8 10 5 9 11 8 9 12 NA 0.0000 11 0.5988 0.5067
Kevin Kehoe 9 10 11 12 7 8 6 10 7 8 8 8 NA 0.0000 12 0.5843 0.5394
William Sherman 8 11 10 10 6 NA 5 NA 9 NA 9 NA NA 0.0000 8 0.5812 0.3577
Rahmatullah Sharifi 11 9 8 11 8 8 5 NA NA NA NA NA NA 0.0000 7 0.5769 0.3106
Jamal Willis 8 10 NA NA NA NA NA 9 NA NA NA NA NA 0.0000 3 0.5625 0.1298
Jason James 9 NA NA NA NA NA NA NA NA NA NA NA NA 0.0000 1 0.5625 0.0433
Michael Beck 9 NA NA NA NA NA NA NA NA NA NA NA NA 0.0000 1 0.5625 0.0433
David Spielman 8 NA 11 NA NA NA 3 NA 7 8 9 NA NA 0.0000 6 0.5412 0.2498
Min Choi 6 7 9 11 7 10 5 13 7 5 NA NA NA 0.0000 10 0.5405 0.4158
Derrick Zantt 11 6 7 NA 6 9 6 11 NA NA NA NA NA 0.0000 7 0.5385 0.2900
Melissa Printup 8 NA 8 7 10 7 6 NA NA 5 9 9 NA 0.0000 9 0.5227 0.3619
TYREE BUNDY 8 8 NA NA NA NA NA NA NA NA NA NA NA 0.0000 2 0.5000 0.0769
Edward Ford 6 8 NA NA NA NA NA NA NA NA NA NA NA 0.0000 2 0.4375 0.0673

Individual Plots

Season Leaderboard

Season Leaderboard (Season Percent)
Week 13
Season Rank Name Donuts Won Weeks Picked Season Percent Adj Season Percent Season Trend
1 Stephen Woolwine 1 9 0.6866 0.4753
2 George Sweet 2 12 0.6857 0.6330
3 Michael Edmunds 0 4 0.6774 0.2084
4 Justin Crick 0 13 0.6754 0.6754
5 Antonio Mitchell 1 10 0.6733 0.5179
6 William Schouviller 2 12 0.6629 0.6119
7 Kevin O'NEILL 0 6 0.6522 0.3010
8 Chris Papageorge 1 12 0.6514 0.6013
9 Jason Schattel 1 13 0.6492 0.6492
10 Shelly Bailey 2 10 0.6486 0.4989
11 Ramar Williams 1 10 0.6463 0.4972
12 Montee Brown 0 11 0.6398 0.5414
13 Anthony Bloss 2 13 0.6387 0.6387
14 Vincent Scannelli 0 11 0.6375 0.5394
15 Gabriel Quinones 0 11 0.6335 0.5360
15 Ryan Wiggins 0 13 0.6335 0.6335
17 James Tierney 2 12 0.6328 0.5841
18 Sarah Sweet 0 12 0.6307 0.5822
19 Bradley Hobson 0 11 0.6296 0.5327
20 MICHAEL BRANSON 1 12 0.6286 0.5802
21 Brian Patterson 1 13 0.6283 0.6283
22 James Blejski 1 12 0.6271 0.5789
23 Carlos Caceres 0 1 0.6250 0.0481
24 Aubrey Conn 0 13 0.6230 0.6230
24 Eric Hahn 2 13 0.6230 0.6230
26 Cody Koerwitz 0 12 0.6229 0.5750
26 PABLO BURGOSRAMOS 1 12 0.6229 0.5750
28 Karen Coleman 2 12 0.6215 0.5737
29 Keithon Corpening 0 7 0.6214 0.3346
30 Patrick Tynan 2 12 0.6193 0.5717
31 Cheryl Brown 0 13 0.6178 0.6178
31 Ryan Cvik 0 13 0.6178 0.6178
31 Terry Hardison 0 13 0.6178 0.6178
34 Michael Moss 0 12 0.6171 0.5696
35 Paul Shim 1 13 0.6126 0.6126
36 Walter Archambo 0 12 0.6102 0.5633
37 Anthony Brinson 1 13 0.6073 0.6073
37 Brian Hollmann 2 13 0.6073 0.6073
37 Bunnaro Sun 0 13 0.6073 0.6073
37 James Small 1 13 0.6073 0.6073
41 Ronald Schmidt 1 12 0.6057 0.5591
42 Donald Park 0 8 0.6050 0.3723
43 Pamela AUGUSTINE 1 12 0.6045 0.5580
44 Earl Dixon 0 12 0.6023 0.5560
45 George Mancini 0 12 0.6000 0.5538
45 Jonathon Leslein 0 12 0.6000 0.5538
45 Matthew Schultz 0 12 0.6000 0.5538
45 Yiming Hu 0 12 0.6000 0.5538
49 DAVID PLATE 0 11 0.5988 0.5067
50 Paul Presti 0 11 0.5963 0.5046
51 Stephen Bush 0 12 0.5932 0.5476
52 Daniel Major 1 10 0.5918 0.4552
53 Robert Gelo 0 13 0.5916 0.5916
53 Shawn Carden 0 13 0.5916 0.5916
55 Shaun Dahl 1 11 0.5901 0.4993
56 Daniel Baller 0 13 0.5864 0.5864
56 Daniel Kuehl 0 13 0.5864 0.5864
58 Thomas Brenstuhl 1 11 0.5849 0.4949
59 WAYNE SCHOFIELD 1 9 0.5846 0.4047
60 Kevin Kehoe 0 12 0.5843 0.5394
61 Brandon Parks 1 11 0.5839 0.4941
61 Kevin Green 0 11 0.5839 0.4941
63 Gregory Flint 0 9 0.5833 0.4038
64 Manuel Vargas 0 13 0.5812 0.5812
64 William Sherman 0 8 0.5812 0.3577
66 Charlene Redmer 0 10 0.5811 0.4470
67 John Plaster 0 11 0.5802 0.4909
68 Daniel Halse 0 8 0.5776 0.3554
69 Rahmatullah Sharifi 0 7 0.5769 0.3106
70 Amy Asberry 0 13 0.5707 0.5707
71 Kristen White 1 13 0.5654 0.5654
72 Jamal Willis 0 3 0.5625 0.1298
72 Jason James 0 1 0.5625 0.0433
72 Michael Beck 0 1 0.5625 0.0433
75 Khalil Ibrahim 0 12 0.5600 0.5169
75 Steven Webster 0 12 0.5600 0.5169
77 Steven Curtis 0 11 0.5597 0.4736
78 THOMAS MCCOY 0 12 0.5537 0.5111
79 Alexander Santillan 0 12 0.5486 0.5064
79 Justin Thrift 0 12 0.5486 0.5064
81 Cherylynn Vidal 0 12 0.5480 0.5058
82 Rafael Torres 0 10 0.5479 0.4215
83 David Spielman 0 6 0.5412 0.2498
84 Min Choi 1 10 0.5405 0.4158
85 Robert Martin 0 11 0.5404 0.4573
86 Derrick Zantt 0 7 0.5385 0.2900
86 Rodney Cathcart 0 1 0.5385 0.0414
88 Robert Lynch 1 13 0.5340 0.5340
89 DERRICK ELAM 1 11 0.5247 0.4440
90 Melissa Printup 1 9 0.5227 0.3619
91 Trevor MACGAVIN 1 11 0.5157 0.4364
92 TYREE BUNDY 0 2 0.5000 0.0769
93 Ryan Shipley 0 12 0.4629 0.4273
94 Edward Ford 0 2 0.4375 0.0673

Adjusted Season Leaderboard

Season Leaderboard (Adjusted Season Percent)
Week 13
Season Rank Name Donuts Won Weeks Picked Season Percent Adj Season Percent Season Trend
1 Justin Crick 0 13 0.6754 0.6754
2 Jason Schattel 1 13 0.6492 0.6492
3 Anthony Bloss 2 13 0.6387 0.6387
4 Ryan Wiggins 0 13 0.6335 0.6335
5 George Sweet 2 12 0.6857 0.6330
6 Brian Patterson 1 13 0.6283 0.6283
7 Aubrey Conn 0 13 0.6230 0.6230
7 Eric Hahn 2 13 0.6230 0.6230
9 Cheryl Brown 0 13 0.6178 0.6178
9 Ryan Cvik 0 13 0.6178 0.6178
9 Terry Hardison 0 13 0.6178 0.6178
12 Paul Shim 1 13 0.6126 0.6126
13 William Schouviller 2 12 0.6629 0.6119
14 Anthony Brinson 1 13 0.6073 0.6073
14 Brian Hollmann 2 13 0.6073 0.6073
14 Bunnaro Sun 0 13 0.6073 0.6073
14 James Small 1 13 0.6073 0.6073
18 Chris Papageorge 1 12 0.6514 0.6013
19 Robert Gelo 0 13 0.5916 0.5916
19 Shawn Carden 0 13 0.5916 0.5916
21 Daniel Baller 0 13 0.5864 0.5864
21 Daniel Kuehl 0 13 0.5864 0.5864
23 James Tierney 2 12 0.6328 0.5841
24 Sarah Sweet 0 12 0.6307 0.5822
25 Manuel Vargas 0 13 0.5812 0.5812
26 MICHAEL BRANSON 1 12 0.6286 0.5802
27 James Blejski 1 12 0.6271 0.5789
28 Cody Koerwitz 0 12 0.6229 0.5750
28 PABLO BURGOSRAMOS 1 12 0.6229 0.5750
30 Karen Coleman 2 12 0.6215 0.5737
31 Patrick Tynan 2 12 0.6193 0.5717
32 Amy Asberry 0 13 0.5707 0.5707
33 Michael Moss 0 12 0.6171 0.5696
34 Kristen White 1 13 0.5654 0.5654
35 Walter Archambo 0 12 0.6102 0.5633
36 Ronald Schmidt 1 12 0.6057 0.5591
37 Pamela AUGUSTINE 1 12 0.6045 0.5580
38 Earl Dixon 0 12 0.6023 0.5560
39 George Mancini 0 12 0.6000 0.5538
39 Jonathon Leslein 0 12 0.6000 0.5538
39 Matthew Schultz 0 12 0.6000 0.5538
39 Yiming Hu 0 12 0.6000 0.5538
43 Stephen Bush 0 12 0.5932 0.5476
44 Montee Brown 0 11 0.6398 0.5414
45 Kevin Kehoe 0 12 0.5843 0.5394
45 Vincent Scannelli 0 11 0.6375 0.5394
47 Gabriel Quinones 0 11 0.6335 0.5360
48 Robert Lynch 1 13 0.5340 0.5340
49 Bradley Hobson 0 11 0.6296 0.5327
50 Antonio Mitchell 1 10 0.6733 0.5179
51 Khalil Ibrahim 0 12 0.5600 0.5169
51 Steven Webster 0 12 0.5600 0.5169
53 THOMAS MCCOY 0 12 0.5537 0.5111
54 DAVID PLATE 0 11 0.5988 0.5067
55 Alexander Santillan 0 12 0.5486 0.5064
55 Justin Thrift 0 12 0.5486 0.5064
57 Cherylynn Vidal 0 12 0.5480 0.5058
58 Paul Presti 0 11 0.5963 0.5046
59 Shaun Dahl 1 11 0.5901 0.4993
60 Shelly Bailey 2 10 0.6486 0.4989
61 Ramar Williams 1 10 0.6463 0.4972
62 Thomas Brenstuhl 1 11 0.5849 0.4949
63 Brandon Parks 1 11 0.5839 0.4941
63 Kevin Green 0 11 0.5839 0.4941
65 John Plaster 0 11 0.5802 0.4909
66 Stephen Woolwine 1 9 0.6866 0.4753
67 Steven Curtis 0 11 0.5597 0.4736
68 Robert Martin 0 11 0.5404 0.4573
69 Daniel Major 1 10 0.5918 0.4552
70 Charlene Redmer 0 10 0.5811 0.4470
71 DERRICK ELAM 1 11 0.5247 0.4440
72 Trevor MACGAVIN 1 11 0.5157 0.4364
73 Ryan Shipley 0 12 0.4629 0.4273
74 Rafael Torres 0 10 0.5479 0.4215
75 Min Choi 1 10 0.5405 0.4158
76 WAYNE SCHOFIELD 1 9 0.5846 0.4047
77 Gregory Flint 0 9 0.5833 0.4038
78 Donald Park 0 8 0.6050 0.3723
79 Melissa Printup 1 9 0.5227 0.3619
80 William Sherman 0 8 0.5812 0.3577
81 Daniel Halse 0 8 0.5776 0.3554
82 Keithon Corpening 0 7 0.6214 0.3346
83 Rahmatullah Sharifi 0 7 0.5769 0.3106
84 Kevin O'NEILL 0 6 0.6522 0.3010
85 Derrick Zantt 0 7 0.5385 0.2900
86 David Spielman 0 6 0.5412 0.2498
87 Michael Edmunds 0 4 0.6774 0.2084
88 Jamal Willis 0 3 0.5625 0.1298
89 TYREE BUNDY 0 2 0.5000 0.0769
90 Edward Ford 0 2 0.4375 0.0673
91 Carlos Caceres 0 1 0.6250 0.0481
92 Jason James 0 1 0.5625 0.0433
92 Michael Beck 0 1 0.5625 0.0433
94 Rodney Cathcart 0 1 0.5385 0.0414

Data

---
title: "2023 NFL Moneyline Picks"
output: 
  flexdashboard::flex_dashboard:
    theme:
      version: 4
      bootswatch: spacelab
    orientation: rows
    vertical_layout: fill
    social: ["menu"]
    source_code: embed
    navbar:
      - { title: "Created by: Daniel Baller", icon: "fa-github", href: "https://github.com/danielpballer"  }
---


```{r setup, include=FALSE}
#    source_code: embed
library(flexdashboard)
library(tidyverse)
library(data.table)
library(formattable)
library(ggpubr)
library(ggrepel)
library(gt)
library(glue)
library(ggthemes)
library(hrbrthemes)
library(sparkline)
library(plotly)
library(htmlwidgets)
library(mdthemes)
library(ggtext)
library(ggnewscale)
library(DT)
source("./Functions/functions2.R")

thematic::thematic_rmd(font = "auto")

```

```{r Reading in our picks files, include=FALSE}
current_week = 13 #Set what week it is
week_1 = read_csv("./CSV_Data_Files/2023 NFL Week 1.csv")
week_2 = read_csv("./CSV_Data_Files/2023 NFL Week 2.csv")
week_3 = read_csv("./CSV_Data_Files/2023 NFL Week 3.csv")
week_4 = read_csv("./CSV_Data_Files/2023 NFL Week 4.csv")
week_5 = read_csv("./CSV_Data_Files/2023 NFL Week 5.csv")
week_6 = read_csv("./CSV_Data_Files/2023 NFL Week 6.csv")
week_7 = read_csv("./CSV_Data_Files/2023 NFL Week 7.csv")
week_8 = read_csv("./CSV_Data_Files/2023 NFL Week 8.csv")
week_9 = read_csv("./CSV_Data_Files/2023 NFL Week 9.csv")
week_10 = read_csv("./CSV_Data_Files/2023 NFL Week 10.csv")
week_11 = read_csv("./CSV_Data_Files/2023 NFL Week 11.csv")
week_12 = read_csv("./CSV_Data_Files/2023 NFL Week 12.csv")
week_13 = read_csv("./CSV_Data_Files/2023 NFL Week 13.csv")
# week_14 = read_csv("./CSV_Data_Files/2023 NFL Week 14.csv")
# week_15 = read_csv("./CSV_Data_Files/2023 NFL Week 15.csv")
# week_16 = read_csv("./CSV_Data_Files/2023 NFL Week 16.csv")
# week_17 = read_csv("./CSV_Data_Files/2023 NFL Week 17.csv")
# week_18 = read_csv("./CSV_Data_Files/2023 NFL Week 18.csv")
# week_19 = read_csv("./CSV_Data_Files/2023 NFL Wild Card.csv")
# week_20 = read_csv("./CSV_Data_Files/2023 NFL Divisional Round.csv")
# week_21 = read_csv("./CSV_Data_Files/2023 NFL Conference Round.csv")
# week_22 = read_csv("./CSV_Data_Files/2023 NFL Super Bowl.csv")

#reading in scores
Scores = read_csv(glue::glue("./CSV_Data_Files/NFL_Scores_{current_week}.csv")) 

#reading in CBS Prediction Records
cbs = read_csv(glue::glue("./CSV_Data_Files/CBS_Experts_{current_week}.csv")) %>% 
  mutate(Percent = round(Percent,4))
cbs_season = read_csv(glue::glue("./CSV_Data_Files/CBS_Experts_Season_{current_week}.csv"))

#reading in ESPN Prediction Records
espn = read_csv(glue::glue("./CSV_Data_Files/ESPN_Experts_{current_week}.csv"))%>% 
  mutate(Percent = round(Percent,4))
espn_season = read_csv(glue::glue("./CSV_Data_Files/ESPN_Experts_Season_{current_week}.csv"))%>% 
  mutate(Percent = round(Percent,4))

#Odds not working for the 2023 season.  Need to fix scrape code for next year.
#Reading in the moneyline odds for each team and cleaning the team names
# odds_wk1 = read_csv(glue::glue("./CSV_Data_Files/Moneyline_Odds_1.csv"))
# odds_wk2 = read_csv(glue::glue("./CSV_Data_Files/Moneyline_Odds_2.csv"))
# odds_wk3 = read_csv(glue::glue("./CSV_Data_Files/Moneyline_Odds_3.csv"))
# odds_wk4 = read_csv(glue::glue("./CSV_Data_Files/Moneyline_Odds_4.csv"))
# odds_wk5 = read_csv(glue::glue("./CSV_Data_Files/Moneyline_Odds_5.csv"))
# odds_wk6 = read_csv(glue::glue("./CSV_Data_Files/Moneyline_Odds_6.csv"))
# odds_wk7 = read_csv(glue::glue("./CSV_Data_Files/Moneyline_Odds_7.csv"))
# odds_wk8 = read_csv(glue::glue("./CSV_Data_Files/Moneyline_Odds_8.csv"))
# odds_wk9 = read_csv(glue::glue("./CSV_Data_Files/Moneyline_Odds_9.csv"))
# odds_wk10 = read_csv(glue::glue("./CSV_Data_Files/Moneyline_Odds_10.csv"))
# odds_wk11 = read_csv(glue::glue("./CSV_Data_Files/Moneyline_Odds_11.csv"))
# odds_wk12 = read_csv(glue::glue("./CSV_Data_Files/Moneyline_Odds_12.csv"))
# odds_wk13 = read_csv(glue::glue("./CSV_Data_Files/Moneyline_Odds_13.csv"))
# odds_wk14 = read_csv(glue::glue("./CSV_Data_Files/Moneyline_Odds_14.csv"))
# odds_wk15 = read_csv(glue::glue("./CSV_Data_Files/Moneyline_Odds_15.csv"))
# odds_wk16 = read_csv(glue::glue("./CSV_Data_Files/Moneyline_Odds_16.csv"))
# odds_wk17 = read_csv(glue::glue("./CSV_Data_Files/Moneyline_Odds_17.csv"))
# odds_wk18 = read_csv(glue::glue("./CSV_Data_Files/Moneyline_Odds_18.csv"))
# odds_wk19 = read_csv(glue::glue("./CSV_Data_Files/Moneyline_Odds_19.csv"))
# odds_wk20 = read_csv(glue::glue("./CSV_Data_Files/Moneyline_Odds_20.csv"))
# odds_wk21 = read_csv(glue::glue("./CSV_Data_Files/Moneyline_Odds_21.csv"))
# odds_wk22 = read_csv(glue::glue("./CSV_Data_Files/Moneyline_Odds_22.csv"))

####################UPDATE THESE###############################
inst.picks = list(week_1, week_2, week_3, week_4, week_5, week_6, week_7, week_8, week_9, week_10, week_11, week_12, week_13) #, week_14, week_15, week_16, week_17, week_18, week_19, week_20, week_21) #add in the additional weeks
# odds = rbind(odds_wk1, odds_wk2, odds_wk3, odds_wk4, odds_wk5, odds_wk6, odds_wk7, odds_wk8,
#              odds_wk9, odds_wk10, odds_wk11, odds_wk12) #add in the additional weeks
####################END OF UPDATE##############################

weeks = as.list(seq(1:current_week)) #creating a list of each week number
```

```{r read in scores clean data, include=FALSE}
#Cleaning Odds Data
# cl_odds = odds_cleaning(odds)

#Cleaning scores data
Scores = cleaning2(Scores)

#creating a list of winners for each week
winners = map(weeks, weekly_winners)

#creating a vector of this weeks winners
this_week = pull(winners[[length(winners)]])  

#Getting the number of games for each week
weekly_number_of_games = map_dbl(weeks, week_number_games)
```

```{r Group Predictions, include=FALSE}
#Creating the list of everyones predictions each week.
games = map(inst.picks, games_fn)

#Creating the prediction table.  
pred_table = map(games, pred_table_fn)

#Adding who won to the predictions
with_winners = map2(pred_table, winners, adding_winners)

#Creating results for each week.
results = map2(with_winners,weekly_number_of_games, results_fn)
```


```{r Displaying Group Results, echo=FALSE}
#Displaying the group results

inst_group_table = results[[length(results)]] %>% gt() %>% 
  cols_align(
    align = "center") %>% 
   tab_header(
    title = md("This Week's Predictions"),
    #subtitle = md(glue("Week {length(results)}"))
    ) %>% 
   tab_style(
    style = cell_text(color = "red", weight = "bold"),
    locations = cells_body(
      columns = c(Correct),
      rows = Correct =="No"
    )) %>% 
   tab_style(
    style = cell_text(color = "green", weight = "bold"),
    locations = cells_body(
      columns = c(Correct),
      rows = Correct =="Yes"
    )) %>% 
  tab_options(
    data_row.padding = px(3),
    container.height = "100%"
   )
```

```{r Weekly and season Group Results, include=FALSE}
# Printing the weekly and season win percentage     

#how many games correct, incorrect, and not picked each week
weekly_group_correct = map(results, weekly_group_correct_fn)  

#how many games were picked each week
weekly_games_picked = map2(weekly_group_correct, weekly_number_of_games, weekly_games_picked_fn)

#Calculating the number of correct picks for each week
weekly_group_correct_picks = map(weekly_group_correct, weekly_group_correct_picks_fn)

#Calculating weekly win percentage
weekly_win_percentage = map2(weekly_group_correct_picks, weekly_games_picked, weekly_win_percentage_fn)

#Calculating season win percentage
season_win_percentage = round(sum(unlist(weekly_group_correct_picks))/sum(unlist(weekly_games_picked)),4)

#Calculating number of games picked this season
season_games = sum(unlist(weekly_games_picked))

#calculating season wins
season_wins = sum(unlist(weekly_group_correct_picks))

#calculating the number of people who picked this week
Total = dim(inst.picks[[length(weeks)]])[1]
```

```{r plotting group results, include=FALSE}
#Previous Weeks
group_season_for_plotting = unlist(weekly_win_percentage) %>% as.data.frame() %>% 
  rename(`Win Percentage` = ".") %>% 
  add_column(Week = unlist(weeks))
```

```{r Plotting the group results, echo=FALSE}
inst_group_season_plot = group_season_for_plotting %>% 
ggplot(aes(x = as.factor(Week), y = `Win Percentage`))+
  geom_point()+
  geom_path(aes(x = Week))+
  ylim(c(0, 1)) +
  xlab("NFL Week") + 
  ylab("Correct Percentage")+
  ggtitle("Weekly Group Correct Percentage")+
  theme_classic()+
  theme(plot.title = element_text(hjust = 0.5, size = 18))
```

```{r beating cbs week, include=FALSE}
#Creating a list of correct percentages for each week.
cbs_weekly_percent = map(weeks, cbs_percent)

#Creating a list of how many cbs experts we beat each week.
cbs_experts_beat = map2(cbs_weekly_percent, weekly_win_percentage, experts_beat)

#Creating a list of how many cbs experts picked each week.  
cbs_experts_total = map(cbs_weekly_percent, experts_tot)
```

```{r beating cbs season, include=FALSE}
#Creating a list of correct percentages for each week.
cbs_season_percent = map(weeks, cbs_season_percent)

#Creating a list of how many cbs experts we beat each week.
cbs_experts_beat_season = map2(cbs_season_percent, season_win_percentage, experts_beat)

#Creating a list of how many cbs experts picked each week.  
cbs_experts_season_total = map(cbs_season_percent, experts_tot)
```

```{r beating ESPN week, include=FALSE}
#Creating a list of correct percentages for each week.
espn_weekly_percent = map(weeks, espn_percent)

#Creating a list of how many cbs experts we beat each week.
espn_experts_beat = map2(espn_weekly_percent, weekly_win_percentage, experts_beat)

#Creating a list of how many cbs experts picked each week.  
espn_experts_total = map(espn_weekly_percent, experts_tot)
```

```{r beating ESPN season, include=FALSE}
#Creating a list of correct percentages for each week.
espn_season_percent = map(weeks, espn_season_percent)

#Creating a list of how many cbs experts we beat each week.
espn_experts_beat_season = map2(espn_season_percent, season_win_percentage, experts_beat)

#Creating a list of how many cbs experts picked each week.  
espn_experts_season_total = map(espn_season_percent, experts_tot)
```

```{r individual results, include=FALSE}
#Creating a list of individual results for each week.
weekly_indiv = pmap(list(inst.picks, winners, weeks), indiv_weekly_pred)

#Combining each week into one dataframe and calculating percentage Correct for this week.  
full_season = weekly_indiv %>% reduce(full_join, by = "Name") %>% 
  mutate(Percent = round(pull(.[,ncol(.)]/weekly_number_of_games[[length(weekly_number_of_games)]]),4)) 

#Creating a dataframe with only the weekly picks
a = full_season %>% select(starts_with("Week"))

#Creating a vector of how many weeks each person picked over the season
tot_week = NULL
help = NULL
for (i in 1:dim(a)[1]){
  for(j in 1:length(a)){
    help[j] = ifelse(is.na(a[i,j])==T,0,1)
    tot_week[i] = sum(help)
  }
}

#Creating a vector of how many games each person picked over the season
tot_picks= NULL
help = NULL
for (i in 1:dim(a)[1]){
  for(j in 1:length(a)){
    help[j] = unlist(weekly_games_picked)[j]*ifelse(is.na(a[i,j])==T,0,1)
    tot_picks[i] = sum(help)
  }
}

#Creatign a vector of how many games each person picked correct over the season
tot_correct = NULL
help = NULL
for (i in 1:dim(a)[1]){
  tot_correct[i] = sum(a[i,], na.rm = T)
}

#adding how many weeks each person picked, season correct percentage, and adjusted season percentag to the data frame and sorting the data
indiv_disp = full_season %>% add_column(`Weeks Picked` = tot_week) %>%
  add_column(tot_correct)%>%
  add_column(tot_picks)%>%
  mutate(`Season Percent` = round(tot_correct/tot_picks,4))%>%
  mutate(`Adj Season Percent` = round(`Season Percent`*(tot_week/length(a)),4)) %>%
  select(-tot_correct, -tot_picks) %>%
  arrange(desc(Percent), desc(`Season Percent`)) %>%
  mutate(Percent = ifelse(is.na(Percent)==T, 0, Percent))
```


```{r individual percentages, include=FALSE}
#Calculating individual percentages for each week.
weekly_indiv_percent = map2(weekly_indiv, as.list(weekly_number_of_games), indiv_percent) %>% reduce(full_join, by = "Name")

weekly_indiv_percent_plot = weekly_indiv_percent %>% 
  pivot_longer(cols = starts_with("Week"), names_to = "Week", values_to = "Percent")%>%
  mutate(Percent = ifelse(is.na(Percent)==T, 0, Percent)) %>% 
  mutate(Week = as.factor(Week))

levels = NULL
for(i in 1:length(weeks)){
  levels[i] = glue("Week {i}")  
}

weekly_indiv_percent_plot = weekly_indiv_percent_plot %>%
  mutate(Week = factor(Week, levels))
```

```{r sparklines, include=FALSE}
#adding sparklines
plot_group = function(name, df){
  plot_object = 
    ggplot(data = df,
           aes(x = as.factor(Week), y=Percent, group = 1))+
    geom_path(size = 7)+
    scale_y_continuous(limits = c(0,1))+
    theme_void()+
    theme(legend.position = "none")
  return(plot_object)
}

sparklines = 
  weekly_indiv_percent_plot %>% 
  group_by(Name) %>% 
  nest() %>% 
  mutate(plot = map2(Name, data, plot_group)) %>% 
  select(-data)
  
indiv_disp_2 = indiv_disp %>% 
  inner_join(sparklines, by = "Name") %>% 
  mutate(`Season Trend` = NA)
```

```{r Printing Individual Table2, echo=FALSE}
# Printing the individual Table
indiv_table = indiv_disp_2 %>% gt() %>% 
  cols_align(
    align = "center") %>% 
   tab_header(
    title = md("Individual Results"),
    subtitle = md(glue("Week {length(weeks)}"))
    ) %>% 
   tab_style(
    style = cell_text(color = "red", weight = "bold"),
    locations = cells_body(
      columns = c(Percent),
      rows = Percent<.5
    )) %>% 
   tab_style(
    style = cell_text(color = "green", weight = "bold"),
    locations = cells_body(
      columns = c(Percent),
      rows = Percent>.5
    )) %>% 
     tab_style(
    style = cell_text(color = "red", weight = "bold"),
    locations = cells_body(
      columns = c(`Season Percent`),
      rows = `Season Percent`<.5
    )) %>% 
   tab_style(
    style = cell_text(color = "green", weight = "bold"),
    locations = cells_body(
      columns = c(`Season Percent`),
      rows = `Season Percent`>.5
    ))%>% 
     tab_style(
    style = cell_text(color = "red", weight = "bold"),
    locations = cells_body(
      columns = c(`Adj Season Percent`),
      rows = `Adj Season Percent`<.5
    )) %>% 
   tab_style(
    style = cell_text(color = "green", weight = "bold"),
    locations = cells_body(
      columns = c(`Adj Season Percent`),
      rows = `Adj Season Percent`>.5
    )) %>% 
  tab_options(
    container.width = pct(100),
    data_row.padding = px(1),
    container.height = "100%"
   ) %>%
    tab_spanner(
    label = "Weekly # Correct",
    columns = starts_with(c("Week "))
  ) %>% 
  text_transform(
    locations = cells_body(c(`Season Trend`)),
    fn = function(x){
      map(indiv_disp_2$plot, ggplot_image, height = px(30), aspect_ratio = 4)
                 }) %>%
  cols_hide(c(plot))

indiv_winners = indiv_disp_2 %>% filter(Percent == max(Percent)) %>% select(Name) %>% pull() %>% paste(collapse = ", ")
indiv_season = indiv_disp_2 %>% filter(`Season Percent` == max(`Season Percent`)) %>% select(Name) %>% pull() %>% paste(collapse = ", ")
indiv_season_adj = indiv_disp_2 %>% filter(`Adj Season Percent` == max(`Adj Season Percent`)) %>% select(Name) %>% pull()%>% paste(collapse = ", ")
```

```{r Printing Season Leaderboard, echo=FALSE}
# Printing the Season Leaderboard
  
season_leaderboard = indiv_disp_2 %>% select(Name, starts_with("Week ")) %>% 
  pivot_longer(starts_with("Week"),names_to = "Week", values_to = "Correct") %>% 
  group_by(Week) %>% 
  mutate(Correct = case_when(is.na(Correct)==T~0, 
                             TRUE~Correct)) %>% 
  mutate(Donut = case_when(Correct==max(Correct)~1,
                           TRUE~0))  %>% 
  ungroup() %>% 
  group_by(Name) %>% 
  summarise(`Donuts Won` = sum(Donut)) %>% 
  #mutate(`Donuts Won` = strrep("award,", Donuts)) %>% 
  right_join(.,indiv_disp_2) %>% 
  select(-starts_with("Week "), -Percent) %>% 
  mutate(`Season Rank` = min_rank(desc(`Season Percent`)),.before = Name) %>% 
  arrange(`Season Rank`) %>% 
  gt() %>% 
  cols_align(
    align = "center") %>% 
   tab_header(
    title = md("Season Leaderboard (Season Percent)"),
    subtitle = md(glue("Week {length(weeks)}"))
    ) %>% 
  # fmt_icon(
  #   columns = `Donuts Won`,
  #   fill_color = "gold",
  # ) %>%
  tab_style(
    style = cell_text(color = "red", weight = "bold"),
    locations = cells_body(
      columns = c(`Season Percent`),
      rows = `Season Percent`<.5
    )) %>% 
   tab_style(
    style = cell_text(color = "green", weight = "bold"),
    locations = cells_body(
      columns = c(`Season Percent`),
      rows = `Season Percent`>.5
    ))%>% 
     tab_style(
    style = cell_text(color = "red", weight = "bold"),
    locations = cells_body(
      columns = c(`Adj Season Percent`),
      rows = `Adj Season Percent`<.5
    )) %>% 
   tab_style(
    style = cell_text(color = "green", weight = "bold"),
    locations = cells_body(
      columns = c(`Adj Season Percent`),
      rows = `Adj Season Percent`>.5
    )) %>% 
  tab_options(
    container.width = pct(100),
    data_row.padding = px(1),
    container.height = "100%"
   ) %>%
    tab_spanner(
    label = "Weekly # Correct",
    columns = starts_with(c("Week "))
  ) %>% 
  text_transform(
    locations = cells_body(c(`Season Trend`)),
    fn = function(x){
      map(indiv_disp_2$plot, ggplot_image, height = px(30), aspect_ratio = 4)
                 }) %>%
  cols_hide(columns = c(plot))
```

```{r Printing Adj Season Leaderboard, echo=FALSE}
# Printing the Adj Season Leaderboard
  
adj_season_leaderboard = indiv_disp_2 %>% select(Name, starts_with("Week ")) %>% 
  pivot_longer(starts_with("Week"),names_to = "Week", values_to = "Correct") %>% 
  group_by(Week) %>% 
  mutate(Correct = case_when(is.na(Correct)==T~0, 
                             TRUE~Correct)) %>% 
  mutate(Donut = case_when(Correct==max(Correct)~1,
                           TRUE~0))  %>% 
  ungroup() %>% 
  group_by(Name) %>% 
  summarise(`Donuts Won` = sum(Donut)) %>% 
  #mutate(`Donuts Won` = strrep("award,", Donuts)) %>% 
  right_join(.,indiv_disp_2) %>% 
  select(-starts_with("Week "), -Percent) %>% 
  mutate(`Season Rank` = min_rank(desc(`Adj Season Percent`)),.before = Name) %>% 
  arrange(`Season Rank`) %>% 
  gt() %>% 
  cols_align(
    align = "center") %>% 
   tab_header(
    title = md("Season Leaderboard (Adjusted Season Percent)"),
    subtitle = md(glue("Week {length(weeks)}"))
    ) %>% 
  # fmt_icon(
  #   columns = `Donuts Won`,
  #   fill_color = "gold",
  # ) %>%
  tab_style(
    style = cell_text(color = "red", weight = "bold"),
    locations = cells_body(
      columns = c(`Season Percent`),
      rows = `Season Percent`<.5
    )) %>% 
   tab_style(
    style = cell_text(color = "green", weight = "bold"),
    locations = cells_body(
      columns = c(`Season Percent`),
      rows = `Season Percent`>.5
    ))%>% 
     tab_style(
    style = cell_text(color = "red", weight = "bold"),
    locations = cells_body(
      columns = c(`Adj Season Percent`),
      rows = `Adj Season Percent`<.5
    )) %>% 
   tab_style(
    style = cell_text(color = "green", weight = "bold"),
    locations = cells_body(
      columns = c(`Adj Season Percent`),
      rows = `Adj Season Percent`>.5
    )) %>% 
  tab_options(
    container.width = pct(100),
    data_row.padding = px(1),
    container.height = "100%"
   ) %>%
    tab_spanner(
    label = "Weekly # Correct",
    columns = starts_with(c("Week "))
  ) %>% 
  text_transform(
    locations = cells_body(c(`Season Trend`)),
    fn = function(x){
      map(indiv_disp_2$plot, ggplot_image, height = px(30), aspect_ratio = 4)
                 }) %>%
  cols_hide(columns = c(plot))

```


```{r instructor formattable, echo=FALSE}
improvement_formatter <- 
  formatter("span", 
            style = x ~ formattable::style(
              font.weight = "bold", 
              color = ifelse(x > .5, "green", ifelse(x < .5, "red", "black"))),
             x ~ icontext(ifelse(x == max(x), "star", ""), x))

indiv_disp_3 = indiv_disp_2 %>% select(-plot)
indiv_disp_3$`Season Trend` = apply(indiv_disp_3[,2:(1+length(weeks))], 1, FUN = function(x) as.character(htmltools::as.tags(sparkline(as.numeric(x), type = "line", chartRangeMin = 0, chartRangeMax = 1, fillColor = "white"))))

indiv_table_2 = as.htmlwidget(formattable(indiv_disp_3, 
                                align = c("l", rep("c", NROW(indiv_disp_3)-1)),
              list(`Season Percent` = color_bar("#FA614B"),
              `Season Percent`= improvement_formatter,
              `Adj Season Percent`= improvement_formatter)))
              
indiv_table_2$dependencies = c(indiv_table_2$dependencies, htmlwidgets:::widget_dependencies("sparkline", "sparkline"))
```

```{r Plotting individual results over the season2, echo=FALSE, out.width = "100%"}
#Creating the individual plot.  
inst_indiv_plots = weekly_indiv_percent_plot %>% 
  ggplot(aes(x = factor(Week), y = Percent, color = Name))+
  geom_point()+
  geom_path(aes(x = as.factor(Week), y = Percent, color = Name, 
                group = Name))+
  ylim(c(0, 1)) +
  labs(x = "NFL Week", 
       y = "Correct Percentage", 
       title = "Weekly Individual Correct Percentage")+
  facet_wrap(~Name)+
  theme_classic()+
  theme(legend.position = "none",
        plot.title = element_text(hjust = 0.5, size = 18),
        axis.text.x=element_text(angle =45, vjust = 1, hjust = 1))
```

```{r data for data page}
inst.data = map2(inst.picks, weeks, disp_data) %>% bind_rows()
```


```{r fivethirtyeight}
inst_538 = map(results, five38) %>% unlist() %>% sum()
```

```{r pregame, eval=FALSE, include=FALSE}
#Predictions for the week

#Creating the list of group predictions each week.
games = map(inst.picks, games_fn)

#Creating the prediction table.  
pred_table = map(games, pred_table_fn)

#Printing table of instructor predictions
pred_table[[length(pred_table)]] %>% mutate(Game = row_number()) %>% 
  rename(`Votes For` = votes_for, `Votes Against` = votes_against) %>% 
  gt() %>% 
  cols_align(
    align = "center") %>% 
   tab_header(
    title = md("This Week's Predictions"),
    subtitle = md(glue("Week {length(weeks)}"))
    ) %>% 
   tab_options(
    data_row.padding = px(3)
   )
```

Group Predictions
==========================================================================

Sidebar {.sidebar} 
-------------------------------------
#### CBS Sports

<font size="4">

This week we beat or tied `r cbs_experts_beat[[length(weeks)]]` of `r cbs_experts_total[[length(weeks)]]` CBS Sports' Experts.

For the season we are currently beating or tied with `r cbs_experts_beat_season[[length(weeks)]]` of `r cbs_experts_season_total[[length(weeks)]]` CBS Sports' Experts.
 
 </font>


#### ESPN

<font size="4">

We also beat or tied `r espn_experts_beat[[length(weeks)]]` of `r espn_experts_total[[length(weeks)]]` ESPN Experts.
 
For the season we are currently beating or tied with `r espn_experts_beat_season[[length(weeks)]]` of `r espn_experts_season_total[[length(weeks)]]` ESPN Experts.

</font>

Row
--------------------------------------

### Win percentage for the week

```{r}
inst_rate <- weekly_win_percentage[[length(weekly_win_percentage)]]*100
gauge(inst_rate, min = 0, max = 100, symbol = '%', gaugeSectors(
  success = c(55, 100), warning = c(40, 54), danger = c(0, 39)
))
```

### Season Win Percentage

```{r}
inst_season <- season_win_percentage*100
gauge(inst_season, min = 0, max = 100, symbol = '%', gaugeSectors(
  success = c(55, 100), warning = c(40, 54), danger = c(0, 39)
))
```

### Games Correct
```{r}
valueBox(value = season_wins,icon = "fa-trophy",caption = "Correct Games this Season")
```

### Games Picked
```{r}
valueBox(value = season_games,icon = "fa-clipboard-list",caption = "Games Picked this Season")
```

### Number of predictions
```{r}
valueBox(value = Total,icon = "fa-users",caption = "Predictions this week")
```

Row
--------------------------------------

### 

```{r}
inst_group_table
```

### 

```{r}
ggplotly(inst_group_season_plot) %>% 
  layout(title = list(y = .93, xref = "plot"),
         margin = list(t = 40))
```

Individual Predictions
==========================================================================


Sidebar {.sidebar} 
-------------------------------------

#### Best Picks of the Week.

<font size="4">

 `r indiv_winners`
 
 </font>
 
#### Best Season Correct Percentage
<font size="4">

`r indiv_season`
 
 </font>

#### Best Adjusted Season Correct Percentage
<font size="4">

`r indiv_season_adj`

 * Adjusted season percentage accounts for the number of weeks picked.
 
 </font>

row {.tabset}
--------------------------------------

### Individual Table
```{r}
indiv_table
```

<!--
### Individual Table2

```{r, out.height="100%"}
indiv_table_2
```

-->

### Individual Plots
```{r, out.width="100%"}
ggplotly(inst_indiv_plots)
```

### Season Leaderboard
```{r, out.width="100%"}
season_leaderboard
```

### Adjusted Season Leaderboard
```{r, out.width="100%"}
adj_season_leaderboard
```

Data
==========================================================================

```{r}
datatable(
  inst.data, extensions = 'Buttons', options = list(
    dom = 'Blfrtip',
    buttons = c('copy', 'csv', 'excel', 'pdf', 'print'),
    lengthMenue = list( c(10, 25, 50, 100, -1), c(10, 25, 50, 100, "All") )
  )
)
```